ในช่วงหลายทศวรรษที่ผ่านมา การเขียนโปรแกรมระบบต่าง ๆ ถูกกักขังอยู่ในความขัดแย้งแบบสองทาง: ซึ่ง ความขัดแย้งระหว่างการควบคุม. ในภาษาเช่น C/C++ คุณมีการควบคุมอย่างสมบูรณ์ แต่ต้องแบกรับภาระของการจัดการด้วยตนเอง — หากลืมใช้ free() จะนำไปสู่การรั่วไหลที่ร้ายแรง ตรงข้ามกัน ภาษาเช่น Java หรือ Go ให้ความปลอดภัยผ่าน การเก็บขยะ (GC)แต่กลับเสียประสิทธิภาพด้วยการหยุดชะงักแบบไม่แน่นอนที่อาจทำลายระบบการซื้อขายความถี่สูงหรือระบบที่ต้องทำงานแบบเรียลไทม์ได้
ทางเลือกที่สาม: การเป็นเจ้าของ
รัสต์แก้ไขปัญหานี้โดยเปลี่ยนแปลงการจัดการหน่วยความจำจาก เวลาทำงาน ไปยัง ตัวประมวลผลผ่านกฎเกณฑ์ที่เข้มงวดของ กฎการเป็นเจ้าของตัวประมวลผลจะติดตามวงจรชีวิตของทุกไบต์ เมื่อคุณรัน $ cargo runตัวตรวจสอบการยืม (Borrow Checker) จะตรวจสอบว่าหน่วยความจำมีความถูกต้อง ไม่ซ้ำ และปลอดภัย โดยไม่ต้องพึ่งผู้จัดการหลังฉากหรือการปล่อยหน่วยความจำด้วยตนเอง ตัวตรวจสอบการยืม ตรวจสอบว่าหน่วยความจำมีความถูกต้อง ไม่ซ้ำ และปลอดภัย โดยไม่ต้องพึ่งผู้จัดการหลังฉากหรือการปล่อยหน่วยความจำด้วยตนเอง
การยืนยันผ่านเทอร์มินัล
โดยใช้ cargo runความปลอดภัยของหน่วยความจำกลายเป็น การรับรองเวลาคอมไพล์. หากคุณฝ่าฝืนกฎใด ๆ โปรแกรมจะไม่สามารถสร้างได้เลย ซึ่งช่วยป้องกันการล่มก่อนที่จะถึงขั้นการผลิต